package com.seu.me.test.back;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElements;
import java.util.List;

/**
 * 个人立案信息
 *
 * @author liangfeihu
 * @since 2019/10/30 14:17
 */
@Data
@ToString
@NoArgsConstructor
@XmlAccessorType(XmlAccessType.FIELD)
public class ClmInfo {
    private String applyNo;
    private String FinishDate;
    private String FinishTime;
    private String Type;
    private String IssueNo;
    private String OutRgtNo;
    private String CASETYPE;
    private String BillNum;
    private String OLDCLMNO;
    private String CUSTOMERNAME;
    private String IDTYPE;
    private String IDNo;
    private String GENDER;
    private String BIRTHDAY;
    private String CUSTOMERNO;
    private String IDENDDATE;
    private String ISLONGVALID;
    private String TELPHONE;
    private String REPAINRFLAG;
    private String REPAINRREMARK;
    private String BANKNO;
    private String BANKPROVINCE;
    private String BANKCITY;
    private String BankType;
    private String BANKACCNAME;
    private String BANKACCNO;
    private String OUTINRGTDATE;
    private String OUTENDCLMDATE;
    private String materialCode;
    private String Email;
    private String Zip;
    private String type;
    private String Relation;
    private String claimHandler;
    private String emailAccept;
    private String reportDate;
    private String claimFinishedTime;
    private String isOriginal;

    @XmlElement(name = "BnfInfoList")
    private BnfInfoData bnfInfoData;
    @XmlElement(name = "ApplyInfoList")
    private ApplyInfoData applyInfoData;
    @XmlElement(name = "ReportInfoList")
    private ReportInfoData reportInfoData;
    @XmlElement(name = "CaseInfoList")
    private CaseInfoData caseInfoData;


    @Data
    @ToString
    @NoArgsConstructor
    @XmlAccessorType(XmlAccessType.FIELD)
    public static class BnfInfoData {
        @XmlElements(value = {@XmlElement(name = "BnfInfo", type = BnfInfo.class)})
        List<BnfInfo> bnfInfoList;
    }

    @Data
    @ToString
    @NoArgsConstructor
    @XmlAccessorType(XmlAccessType.FIELD)
    public static class ApplyInfoData {
        @XmlElements(value = {@XmlElement(name = "ApplyInfo", type = ApplyInfo.class)})
        List<ApplyInfo> applyInfoList;
    }

    @Data
    @ToString
    @NoArgsConstructor
    @XmlAccessorType(XmlAccessType.FIELD)
    public static class ReportInfoData {
        @XmlElements(value = {@XmlElement(name = "ReportInfo", type = ReportInfo.class)})
        List<ReportInfo> reportInfoList;
    }

    @Data
    @ToString
    @NoArgsConstructor
    @XmlAccessorType(XmlAccessType.FIELD)
    public static class CaseInfoData {
        @XmlElements(value = {@XmlElement(name = "CaseInfo", type = CaseInfo.class)})
        List<CaseInfo> caseInfoList;
    }

}
